/*
 * 项目名称:    wms-server-jeecg
 * 创建人员:    hansen
 * 创建时间:    2023-10-09
 */
package org.jeecg.modules.dock.entity.mds.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * WMS-MDS发送横剪叫料请求
 *
 * @author hansen
 * @version 1.0.0
 * @date 2023-10-09 13:10:15
 */
@ApiModel(value = "WMS-MDS发送横剪叫料请求", description = "WMS-MDS发送横剪叫料请求")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MDSTransverseShearingIsCalledMaterialRequestVO extends MdsBaseRequestVO{

    @NotNull(message = "产线名称不能为空")
    @NotBlank(message = "产线名称不能为空")
    @ApiModelProperty("产线名称")
    private String lineName;

    @ApiModelProperty("生产订单号")
    private String orderCode;

    @NotNull(message = "备料区域不能为空")
    @NotBlank(message = "备料区域不能为空")
    @ApiModelProperty("备料区域")
    private String prepareArea;

    @NotNull(message = "明细不能为空")
    @ApiModelProperty("明细")
    private List<Detail> detail;

    @Data
    public static class Detail implements Serializable {

        @NotNull(message = "卷料批次号不能为空")
        @NotBlank(message = "卷料批次号不能为空")
        @ApiModelProperty("卷料批次号，长度10位")
        private String batchId;

        @NotNull(message = "卷料宽度不能为空")
        @ApiModelProperty("卷料宽度，可能存在小数")
        private BigDecimal width;

        @NotNull(message = "外径不能为空")
        @ApiModelProperty("外径,整数")
        private Integer diameter;

        @NotNull(message = "重量不能为空")
        @ApiModelProperty("重量，单位KG，精度1kg")
        private Integer weight;

        @NotNull(message = "卷料放置在一字臂的方向不能为空")
        @NotBlank(message = "卷料放置在一字臂的方向不能为空")
        @ApiModelProperty("卷料放置在一字臂的方向(L:左臂；R:右臂)")
        private String arm;
    }
}
